package Cidade;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import Util.Conexao;

public class CidadeDao {

	Conexao cx = new Conexao();
	
	public void AddCidade (Cidade cid)
	{
		cx.OpenConection();
		cx.getSessao().save(cid);
		cx.CloseConection();
	}
	public void RemoveCidade (Cidade cid)
	{
		cx.OpenConection();
		cx.getSessao().delete(cid);
		cx.CloseConection();
	}
	public void UpdateCidade (Cidade cid)
	{
		cx.OpenConection();
		cx.getSessao().update(cid);
		cx.CloseConection();
	}
	public List <Cidade> ListarCidades()
	{
		Criteria listCidade = cx.getTransacao().createCriteria(Cidade.class);
		listCidade.addOrder(Order.asc("nomeCidade"));
		return listCidade.list();
	}
	public List <Cidade> ListarCidadeDSC(String dsc)
	{
		Criteria listCidade = cx.getTransacao().createCriteria(Cidade.class);
		listCidade.add(Restrictions.like("nomeCidade", "%"+dsc+"%"));
		listCidade.addOrder(Order.asc("nomeCidade"));
		return listCidade.list();
	
	}
	public Cidade RecuperaCidadeCOD (int cod)
	{
		Criteria listCidade = cx.getTransacao().createCriteria(Cidade.class);
		listCidade.add(Restrictions.like("CodCidade", cod));
		return (Cidade) listCidade.uniqueResult();
	}
}
